/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Servlet;

import clases.Conexion;
import clases.Error_Data;
import clases.Tipo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author ad
 */
public class EditarOperador_aux extends HttpServlet {
   
    /** 
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
            //por si entra sin loguearse al serlet
        HttpSession sesionOk = request.getSession();
            if (sesionOk.getAttribute("Usuario") == null) {
            response.setContentType("text/html;charset=UTF-8");
            response.sendRedirect("/ProyectoBases2/index.jsp");
        }
    } 

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } 

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
         //capturamos todos los datos que nos manda la aplicacion
            Tipo [] param=new Tipo[10];
            param[0]=new Tipo(request.getParameter("direccion"),"direccion");
            param[1]=new Tipo(request.getParameter("mail"),"mail");
            param[2]=new Tipo(request.getParameter("telefono"),"telefono");

            Error_Data misErrores=new Error_Data();
            boolean retorn=actualizardatos(misErrores,param,response,request);


            if(retorn)
            {
                misErrores.EscribirMensajes("fue actualizado con exito", response,"Regresar","Editar_Operador.jsp");
            }else
            {
                misErrores.EscribirMensajes("ah ocurrido un Error no se completo la actualizacion", response,"Regresar","Editar_Operador.jsp");
            }
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

    private boolean  actualizardatos(Error_Data misErrores,Tipo[] param, HttpServletResponse response, HttpServletRequest request) {
           boolean res=false;
         
          Conexion misconexion=new Conexion();

       try{

            if(param[0].gettipo().compareTo("direccion")==0)
            {
                 if(misErrores.Solo_Letras1(param[0].getvalor())==false)
                 {
                      misErrores.EscribirMensajes("Error en el campo direccion <br>con el valor de: "+param[0].getvalor(), response,"Regresar","Editar_Cliente.jsp");
                     return false;
                 }
            }
            if(param[1].gettipo().compareTo("mail")==0)
            {
                  if(misErrores.Solo_Letras2(param[1].getvalor())==false)
                  {
                       misErrores.EscribirMensajes("Error en el campo mail <br>con el valor de: "+param[1].getvalor(), response,"Regresar","Editar_Operador.jsp");
                      return false;
                  }
            }
            if(param[2].gettipo().compareTo("telefono")==0)
            {
                  if(misErrores.Solo_Numeros3(param[2].getvalor())==false)
                  {
                       misErrores.EscribirMensajes("Error en el campo telefono <br>con el valor de: "+param[2].getvalor(), response,"Regresar","Editar_Operador.jsp");
                      return false;
                  }
            }


            HttpSession sesionOk = request.getSession();
            String id_modificar=(String) sesionOk.getAttribute("id_modificar");
            sesionOk.removeAttribute("id_modificar");//removemos el atributo

                       //buscamos el cliente con el serial indicado por medio de hibernate
            res=misconexion.actualizardatosEmpleado(param,id_modificar);



        }catch(Exception q)
        {
         System.out.println(q.getMessage());
         return false;
        }

        return res;
    }

}
